Skill

বেসিক উইজেটসমূহ (Button, Panel, Grid, Form)

Web Development - এক্সটিজেএস (ExtJS) - ExtJS Components এবং Widgets |
1

ExtJS একটি শক্তিশালী ফ্রন্টএন্ড ফ্রেমওয়ার্ক, যা ডায়নামিক এবং রিচ ইউজার ইন্টারফেস (UI) উপাদান তৈরি করতে ব্যবহৃত হয়। ExtJS-এ বেশ কিছু বেসিক উইজেট বা কম্পোনেন্ট রয়েছে, যা সাধারণত ওয়েব অ্যাপ্লিকেশনের বিভিন্ন ধরনের ইউজার ইন্টারফেস তৈরিতে ব্যবহৃত হয়। এগুলোর মধ্যে অন্যতম হল Button, Panel, Grid, এবং Form


১. Button (বাটন)

Button হলো একটি কমপোনেন্ট যা ইউজারের সাথে ইন্টারঅ্যাকশন করার জন্য ব্যবহৃত হয়। এটি সাধারণত একটি ক্লিকেবল বাটন হিসেবে কাজ করে, যার মাধ্যমে ইউজার কোনো অ্যাকশন ট্রিগার করে।

বাটন উদাহরণ:

Ext.create('Ext.button.Button', {
    text: 'Click Me', // বাটনের টেক্সট
    renderTo: Ext.getBody(), // বাটনটি কোথায় রেন্ডার হবে
    handler: function() {
        alert('Button Clicked!'); // বাটনে ক্লিক করার পরে যেটি হবে
    }
});

এখানে, text হলো বাটনের টেক্সট এবং handler হলো সেই ফাংশন যা বাটনে ক্লিক করার সময় রান করবে।


২. Panel (প্যানেল)

Panel হলো একটি কন্টেইনার কম্পোনেন্ট যা অন্যান্য কম্পোনেন্ট যেমন বাটন, গ্রিড, টেক্সটফিল্ড ইত্যাদি ধারণ করতে পারে। এটি সাধারণত একটি কন্টেইনার হিসেবে ব্যবহৃত হয় যেখানে UI উপাদানগুলোর পজিশন ও লেআউট নিয়ন্ত্রণ করা হয়।

প্যানেল উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'My Panel', // প্যানেলের শিরোনাম
    width: 300, // প্যানেলের প্রস্থ
    height: 200, // প্যানেলের উচ্চতা
    html: 'Welcome to ExtJS!', // প্যানেলের ভিতরের HTML কনটেন্ট
    renderTo: Ext.getBody() // যেখানে প্যানেল রেন্ডার হবে
});

এখানে, title প্যানেলের শিরোনাম এবং html প্যানেলের ভিতরের কনটেন্ট। renderTo দ্বারা প্যানেলটি কনটেইনারের মধ্যে রেন্ডার হবে।


৩. Grid (গ্রিড)

Grid হলো একটি টেবিল-স্টাইলের কম্পোনেন্ট, যা ডেটা ভিউ এবং ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। এটি ব্যবহার করে ডেটাকে কলাম আকারে প্রদর্শন করা হয় এবং বিভিন্ন ফিচার যেমন সোর্টিং, ফিল্টারিং, পেজিনেশন ইত্যাদি সহজে ইনপুট করা যায়।

গ্রিড উদাহরণ:

Ext.create('Ext.grid.Panel', {
    title: 'User List',
    store: {
        fields: ['name', 'email', 'phone'],
        data: [
            { 'name': 'John', 'email': 'john@example.com', 'phone': '12345' },
            { 'name': 'Jane', 'email': 'jane@example.com', 'phone': '67890' }
        ]
    },
    columns: [
        { text: 'Name', dataIndex: 'name', flex: 1 },
        { text: 'Email', dataIndex: 'email', flex: 2 },
        { text: 'Phone', dataIndex: 'phone', flex: 1 }
    ],
    renderTo: Ext.getBody()
});

এখানে, store ডেটার উৎস হিসেবে কাজ করে এবং columns দ্বারা গ্রিডের কলামসমূহ নির্ধারণ করা হয়। dataIndex প্রতিটি কলামে প্রদর্শিত ডেটা নির্ধারণ করে।


৪. Form (ফর্ম)

Form হল একটি UI কম্পোনেন্ট, যা ইউজারের ইনপুট গ্রহণ করতে ব্যবহৃত হয়। ফর্মে বিভিন্ন ধরনের ফিল্ড থাকে যেমন টেক্সটফিল্ড, রেডিও বাটন, চেকবক্স ইত্যাদি, যা ইউজার ডেটা সংগ্রহের জন্য ব্যবহৃত হয়।

ফর্ম উদাহরণ:

Ext.create('Ext.form.Panel', {
    title: 'User Form',
    width: 300,
    bodyPadding: 10,
    items: [
        {
            xtype: 'textfield', // টেক্সটফিল্ড
            name: 'name',
            fieldLabel: 'Name',
            allowBlank: false // ইনপুট শূন্য হতে পারে না
        },
        {
            xtype: 'textfield', // টেক্সটফিল্ড
            name: 'email',
            fieldLabel: 'Email',
            vtype: 'email' // ইমেইল ফরম্যাট ভ্যালিডেশন
        }
    ],
    buttons: [
        {
            text: 'Submit',
            handler: function() {
                var form = this.up('form').getForm();
                if (form.isValid()) {
                    alert('Form Submitted!');
                }
            }
        }
    ],
    renderTo: Ext.getBody()
});

এখানে, xtype দ্বারা বিভিন্ন ফর্ম ফিল্ড যেমন textfield বা radio নির্বাচন করা হয় এবং allowBlank, vtype দ্বারা ইনপুট ভ্যালিডেশন করা হয়। handler দ্বারা বাটন ক্লিক করার পর যেটি কার্যকর হবে।


সারাংশ

  • Button (বাটন): ক্লিকেবল উপাদান যা ইউজারের ইন্টারঅ্যাকশন গ্রহণ করে এবং একটি অ্যাকশন ট্রিগার করে।
  • Panel (প্যানেল): একটি কন্টেইনার কম্পোনেন্ট যা অন্যান্য UI উপাদান ধারণ করে।
  • Grid (গ্রিড): একটি টেবিল-স্টাইল কম্পোনেন্ট যা ডেটা ভিউ এবং ম্যানেজমেন্টের জন্য ব্যবহৃত হয়।
  • Form (ফর্ম): ইউজারের ইনপুট গ্রহণ করার জন্য ব্যবহৃত একটি ফর্ম কম্পোনেন্ট, যা বিভিন্ন ধরনের ফিল্ড ধারণ করে।

ExtJS এর বেসিক উইজেটসমূহ ব্যবহার করে, আপনি খুব দ্রুত এবং দক্ষতার সাথে ইউজার ইন্টারফেস তৈরি করতে পারেন। এগুলি ব্যবহার করে আপনি একাধিক কম্পোনেন্ট কাস্টমাইজ করতে এবং ডেটার উপর কার্যকরী ইন্টারঅ্যাকশন তৈরি করতে পারবেন।

Content added By
Promotion